Set the right window level and shadow after recreating the window.
authorRichard Hult <richard@imendio.com>
Wed, 20 Feb 2008 20:10:30 +0000 (20:10 +0000)
committerRichard Hult <rhult@src.gnome.org>
Wed, 20 Feb 2008 20:10:30 +0000 (20:10 +0000)
2008-02-20  Richard Hult  <richard@imendio.com>

* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Set
the right window level and shadow after recreating the window.

* gdk/quartz/GdkQuartzView.c: (drawRect): Invalidate the shadow if
necessary after drawing (bug #517338).

svn path=/trunk/; revision=19622

ChangeLog
gdk/quartz/GdkQuartzView.c
gdk/quartz/gdkwindow-quartz.c

index 3914cf4b4fd511d34706a7adfbe9f8c277e97d78..21e3663a2a556b9933655a2492568dfabf2c8ffe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-02-20  Richard Hult  <richard@imendio.com>
+
+       * gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Set
+       the right window level and shadow after recreating the window.
+
+       * gdk/quartz/GdkQuartzView.c: (drawRect): Invalidate the shadow if
+       necessary after drawing (bug #517338).
+
 2008-02-20  Marc-Andre Lureau  <marcandre.lureau@gmail.com>
 
        * gtk/gtkbuilder.c (_gtk_builder_enum_from_string): fix missing
index 511e6d1b99839824efb9b9718ed314ecbe85cf3a..44f21e5a4f8d46a029d4aa36ba6c2238c1f90544 100644 (file)
 
   gdk_region_destroy (region);
 
+  /* Invalidate the window shadow for non-opaque views that have shadow
+   * enabled, otherwise the shadow doesn't get updated to what we draw.
+   */
+  if (![self isOpaque] && [[self window] hasShadow])
+    [[self window] invalidateShadow];
+
   GDK_QUARTZ_RELEASE_POOL;
 }
 
index feb31d4fdafeeeae0fa39379c75671bb787fee74..54238235b3fced9bd8c01529276f8d576e868399 100644 (file)
@@ -2623,6 +2623,9 @@ gdk_window_set_decorations (GdkWindow       *window,
                                                    backing:NSBackingStoreBuffered
                                                      defer:NO];
 
+      [impl->toplevel setHasShadow: window_type_hint_to_shadow (impl->type_hint)];
+      [impl->toplevel setLevel: window_type_hint_to_level (impl->type_hint)];
+
       [impl->toplevel setContentView:old_view];
       [impl->toplevel setFrame:rect display:YES];
     }